package com.liveinstars.im.core.service;

import com.liveinstars.api.im.vo.FansVO;
import com.liveinstars.api.im.vo.UserFansInfoVO;

import java.util.List;

/**
 * @author: zhouze
 * @date: 2020/3/31
 */
public interface FansService {

    /**
     * 根据用户id查询粉丝列表
     * @param userId
     * @return
     */
    List<FansVO> listFansByUserId(Long userId);

    /**
     * 根据用户id查询用户的关注
     * @param userId
     * @return
     */
    List<FansVO> listFollowByUserId(Long userId);

    /**
     * 获取关注者详情
     * @param userId
     * @param fansId
     * @return
     */
    FansVO getFansByUserIdAndFansId(Long userId, Long fansId);

    /**
     *
     * @param userId
     * @param fansId
     * @return
     */
    boolean isFans(Long userId, Long fansId);

    /**
     * 添加粉丝
     * @param fansVO
     */
    void addFans(FansVO fansVO);

    /**
     * 获取用户fans相关数据（数量）
     * @param userId
     * @return
     */
    UserFansInfoVO getUserFansInfo(Long userId);


}
